public function cashflow(){
            $dateFrom=date_create(date('Y-m-01'));
            $dateTo=date_create(date('Y-m-t'));

            $journals = array();
            $accounts = array();
            $journals = \DB::table('accountant_transactions')
            ->join('accountants', 'accountant_transactions.account_id', '=', 'accountants.id')
            ->selectRaw('*, accountant_transactions.id as id, accountant_transactions.name as accountant_transactions_name, accountant_transactions.desc as accountant_transactions_desc, accountants.name as accountants_name, accountants.code as code')
            ->orderBy('accountant_transactions.status', 'desc')
            ->orderBy('accountant_transactions.custom_date', 'desc')
            ->where('accountant_transactions.payment', 'CASH BANK')
            ->where('accountant_transactions.custom_date', '>=', $dateFrom)
            ->where('accountant_transactions.custom_date', '<=', $dateTo)
            ->get();


            $detail_receipts = \DB::table('detail_receipts')
            ->join('accountants', 'detail_receipts.account_id', '=', 'accountants.id')
            ->join('receipts', 'receipts.id', '=', 'detail_receipts.receipt_id')
            ->selectRaw('*,  receipts.name as receipt_name, detail_receipts.id as id, detail_receipts.name as accountant_transactions_name, detail_receipts.desc as accountant_transactions_desc, accountants.name as accountants_name')
            ->orderBy('detail_receipts.custom_date', 'desc')
            ->where('receipts.status', 'APPROVED')
            ->where('detail_receipts.payment', 'CASH BANK')
            ->where('detail_receipts.custom_date', '>=', $dateFrom)
            ->where('detail_receipts.custom_date', '<=', $dateTo)
            ->get();

            $accounts = Accountant::with('accountParent','accountChilds')->get();
            $banks = array();

            $test = array();
            $x = 0;
            foreach($accounts as $account){
                if($account->parent_id == 0){
                    $i = 0;
                    $test[$x]['attribute'] = $account;
                    foreach($account->accountChilds as $child){
                        $test[$x]['child'][$i] = $this->searchChild($child->id);
                        $i++;
                    }
                }
                $x++;
            }

            $costcenters = Costcenter::where('company_id',$_SESSION['company'])->get();
            $divisions = Division::where('company_id',$_SESSION['company'])->get();
            $projects = Project::where('company_id',$_SESSION['company'])->get();
            //dd($receipts);

            $debet = 0;
            $credit = 0;
            foreach ($journals as $journal) {
                $debet += $journal->debet;
                $credit += $journal->credit;
                # code...
            }
            foreach ($detail_receipts as $detail_receipt) {
                $debet += $detail_receipt->debet;
                $credit += $detail_receipt->credit;
                # code...
            }
            return view('custom.reports.cashflow',['journals' => $journals, 'detail_receipts' => $detail_receipts, 'accounts' => $test, 'debet' => $debet, 'credit' => $credit,'costcenters' => $costcenters,'divisions' => $divisions,'projects' => $projects, 'dateFrom' => $dateFrom->format('Y-m-d'), 'dateTo' => $dateTo->format('Y-m-d')]);
        }



public function cashFlowfilterDate(Request $request){
            $data = $request->all();

            $dateFrom = date('Y-m-d', strtotime($data['from']));
            $dateTo =   date('Y-m-d', strtotime($data['to']));
            $journals = array();
            $accounts = array();
            $journals = \DB::table('accountant_transactions')
            ->join('accountants', 'accountant_transactions.account_id', '=', 'accountants.id')
            ->selectRaw('*, accountant_transactions.id as id, accountant_transactions.name as accountant_transactions_name, accountant_transactions.desc as accountant_transactions_desc, accountants.name as accountants_name, accountants.code as code')
            ->orderBy('accountant_transactions.status', 'desc')
            ->orderBy('accountant_transactions.custom_date', 'desc')
            ->where('accountant_transactions.payment', 'CASH BANK')
            ->where('accountant_transactions.custom_date', '>=', $dateFrom)
            ->where('accountant_transactions.custom_date', '<=', $dateTo)
            ->get();


            $detail_receipts = \DB::table('detail_receipts')
            ->join('accountants', 'detail_receipts.account_id', '=', 'accountants.id')
            ->join('receipts', 'receipts.id', '=', 'detail_receipts.receipt_id')
            ->selectRaw('*,  receipts.name as receipt_name, detail_receipts.id as id, detail_receipts.name as accountant_transactions_name, detail_receipts.desc as accountant_transactions_desc, accountants.name as accountants_name')
            ->orderBy('detail_receipts.custom_date', 'desc')
            ->where('receipts.status', 'APPROVED')
            ->where('detail_receipts.payment', 'CASH BANK')
            ->where('detail_receipts.custom_date', '>=', $dateFrom)
            ->where('detail_receipts.custom_date', '<=', $dateTo)
            ->get();
            //dd($journals);
            // ->where(function ($query) {
            //     $query ->where('accountant_transactions.company_id', $_SESSION['company'])
            //             ->where('accountant_transactions.status', "SUBMITTED")
            //             ->orWhere('accountant_transactions.status', "REJECTED")
            //             ->orWhere('accountant_transactions.status', "APPROVED");
            // })
            //dd($journals);
            // AccountantTransaction::where('status','SUBMITTED')->orWhere('status','APPROVED')->where('company_id', $_SESSION['company'])->orWhere('status','REJECTED')->get();
            //dd($receipts);

            // ->where(function ($query) {
            //     $query ->where('company_id', $_SESSION['company'])
            //             ->where('status', "SUBMITTED")
            //             ->orWhere('status', "REJECTED")
            //             ->orWhere('status', "APPROVED");
            // })

            $accounts = Accountant::with('accountParent','accountChilds')->get();
            $banks = array();

            $test = array();
            $x = 0;
            foreach($accounts as $account){
                if($account->parent_id == 0){
                    $i = 0;
                    $test[$x]['attribute'] = $account;
                    foreach($account->accountChilds as $child){
                        $test[$x]['child'][$i] = $this->searchChild($child->id);
                        $i++;
                    }
                }
                $x++;
            }

            $costcenters = Costcenter::where('company_id',$_SESSION['company'])->get();
            $divisions = Division::where('company_id',$_SESSION['company'])->get();
            $projects = Project::where('company_id',$_SESSION['company'])->get();
            //dd($receipts);

            $debet = 0;
            $credit = 0;
            foreach ($journals as $journal) {
                $debet += $journal->debet;
                $credit += $journal->credit;
                # code...
            }
            foreach ($detail_receipts as $detail_receipt) {
                $debet += $detail_receipt->debet;
                $credit += $detail_receipt->credit;
                # code...
            }
            return view('custom.reports.cashflow',['journals' => $journals, 'detail_receipts' => $detail_receipts, 'accounts' => $test, 'debet' => $debet, 'credit' => $credit,'costcenters' => $costcenters,'divisions' => $divisions,'projects' => $projects, 'dateFrom' => $dateFrom, 'dateTo' => $dateTo]);
          }